60 research outputs found

    Computable concurrent processes

    Get PDF
    AbstractWe study relative computability for processes and process transformations, in general, and in particular the non-deterministic and concurrent processes which can be specified in terms of various fair merge constructs. The main result is a normal form theorem for these (relatively) computable process functions which implies that although they can be very complex when viewed as classical set-functions, they are all “loosely implementable” in the sense of Park (1980). The precise results are about the player model of concurrency introduced in Moschovakis (1991), which supports both fairness constructs and full recursion

    Implicit complexity for coinductive data: a characterization of corecurrence

    Full text link
    We propose a framework for reasoning about programs that manipulate coinductive data as well as inductive data. Our approach is based on using equational programs, which support a seamless combination of computation and reasoning, and using productivity (fairness) as the fundamental assertion, rather than bi-simulation. The latter is expressible in terms of the former. As an application to this framework, we give an implicit characterization of corecurrence: a function is definable using corecurrence iff its productivity is provable using coinduction for formulas in which data-predicates do not occur negatively. This is an analog, albeit in weaker form, of a characterization of recurrence (i.e. primitive recursion) in [Leivant, Unipolar induction, TCS 318, 2004].Comment: In Proceedings DICE 2011, arXiv:1201.034

    On primitive recursive algorithms and the greatest common divisor function

    Get PDF
    Abstract. We establish linear lower bounds for the complexity of non-trivial, primitive recursive algorithms from piecewise linear given functions. The main corollary is that logtime algorithms for the greatest common divisor from such givens (such as Stein’s) cannot be matched in efficiency by primitive recursive algorithms from the same given functions. The question is left open for the Euclidean algorithm, which assumes the remainder function. In 1991, Colson [3] 1 proved a remarkable theorem about the limitations of primitive recursive algorithms, which has the following consequence: Colson’s Corollary. If a primitive recursive derivation of min(x, y) is expressed faithfully in a programming language, then one of the two computations min(1, 1000) and min(1000, 1) will take at least 1000 steps. The point is that the natural algorithm which computes min(x, y) in O(min(x, y)) steps cannot be matched in efficiency by a primitive recursive program, even though min(x, y) is a primitive recursive function; and so, as a practical and (especially) a foundational matter, we need to consider “recursive schemes ” more general than primitive recursion, even if, ultimately, we are only interested in primitive recursive functions. In this paper we consider extensions of Colson’s Theorem which allow conditional definitions and especially calls to a rich variety of “given ” functions, whose values are produced on demand in constant time. Sample, easy to state, result: Corollary 20. Consider primitive-recursive-like derivations, which in addition to composition and primitive recursion allow definition by cases and calls to the following functions and (characteristic functions of) relations: x + y, x − · y, x ÷ 2, Parity(x), x = y, x < y For each such derivation of the greatest common divisor function gcd(x, y), there is a sequence of pairs {(xt, yt)} and a rational constant r> 0, such that limt(xt + yt) = ∞, and for all t, c ∗ (xt, yt) ≥ r(xt + yt)

    Notes on set theory

    No full text

    On Founding the Theory of Algorithms

    No full text
    machines and implementations The first definition of an abstract machine was given by Turing, in the classic [20]. Without repeating here the well-known definition (e.g., see [6]), we recall that each Turing machine M is equipped with a "semi-infinite tape" which it uses both to compute and also to communicate with its environment: To determine the value f(n) (if any) of the partial function f : N * N computed by M , we put n on the tape in some standard way, e.g., by placing n + 1 consecutive 1s at its beginning; we start the machine in some specified, initial, internal state q 0 and looking at the leftmost end of the tape; and we wait until the machine stops (if it does), at which time the value f(n) can be read off the tape, by counting the successive 1s at the left end. Turing argued that the number-theoretic functions which can (in principle) be computed by any deterministic, physical device are exactly those which can be computed by a Turing machine, and the corresponding version of this claim for partial functions has come to be known as the ChurchTuring Thesis, because an equivalent claim was made by Church at about the same time. Turing's brilliant analysis of "mechanical computation" in [20] and a huge body of work in the last sixty years has established the truth of the Church-Turing Thesis beyond reasonable doubt; it is of immense importance in the derivation of foundationally significant undecidability results from technical theorems about Turing machines, and it has been called "the first natural law of pure mathematics." Turing machines capture the notion of mechanical computability of numbertheoretic functions, by the Church-Turing Thesis, but they do not model faith- It has also been suggested that we do not need algorithms, only the equival..

    Abstract recursion and intrinsic complexity

    No full text
    Presents a new framework for the complexity of algorithms, for all readers interested in the theory of computation

    A game-theoretic, concurrent and fair model of the typed lambda-calculus, with full recursion

    No full text
    This paper, and the talk on which it is based, were strongly influenced by two, contradictory words of advice. First, there is Gian-Carlo Rota’s eloquent injunction in [17] to “publish the same result often”; and so I will take some time to describe again and (I hope) motivate and explain better the game-theoretic model of concurrency, with fair merge and full recursion introduced in [7] and further studied in [9,8, 10,12]. Second, there is this young computer scientist friend of mine, who complaints about conferences in which “everyone presents a finished, polished paper on what they did the year before, so that the talks are stylized and do not lead to meaningful interaction among the participants”; and so I put off writing the paper until after the meeting, and I spent all my time up to it perfecting as best I could the new theorem I wanted to present. Still not quite what I would like to prove, this result adds products and function spaces to the constructions of [7,9], which then yield a concurrent model of the typed λ-calculus which still accommodates fairness and full recursion. As it happened, game-theoretic semantics of higher-type languages were featured prominentl

    Descriptive set theory

    No full text

    The Logic Of Functional Recursion

    No full text
    this paper are related to "program verification" very much like predicate logic and its completeness are related to axiomatic set theory; they are certainly relevant, but not of much help in establishing specific, concrete results. In its most general form, a recursive definition of a function is expressed by a fixpoint equation of the for
    corecore